#ifndef __WDTX_QUEUE_H_
#define __WDTX_QUEUE_H_

#include "wdtx.h"
#include "wdtx_list.h"

typedef struct queueStruct* Queue;

Queue Queue_newInstance(u8 sizeOfNode, u16 maxLength);
void Queue_destory(Queue queue);
const void* Queue_top(Queue queue);
void* Queue_pop(Queue queue);
void Queue_push(Queue queue, const void* value);
bool Queue_notEmpty(Queue queue);
bool Queue_notFull(Queue queue);
u16 Queue_length(Queue queue);

#endif // __WDTX_QUEUE_H_
